/*
 * @ProjectName: 编程学习
 * @Copyright:   2021 HangZhou Yiyuery Dev, Ltd. All Right Reserved.
 * @address:     微信搜索公众号「架构探险之道」获取更多资源。
 * @date:        2021/1/2 8:22 下午
 * @blog:         https://yiyuery.blog.csdn.net/
 * @description: 本内容仅限于编程技术学习使用，转发请注明出处.
 */
package pub.dsb.example.algorithm;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * <p>
 *
 * </p>
 *
 * @author Yiyuery
 * @date 2021/1/2 8:22 下午
 * @sine 0.0.6
 */
public class LC1Test {

}
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> indexMap = new HashMap<>();
        int[] indexs = new int[2];
        for (int i = 0; i < nums.length; i++) {
            if(indexMap.containsKey(nums[i])){
                // 找到数字对应的补数所在下标
                indexs[0]=indexMap.get(nums[i]);
                indexs[1]=i;
                return indexs;
            }
            // 计算补数并保存所在下标
            int value = target - nums[i];
            indexMap.put(value, i);
        }
        return indexs;
    }
}
